package com.ruoyi.flink.util;

import java.util.ArrayList;
import java.util.List;

import org.ansj.domain.Result;
import org.ansj.domain.Term;
import org.ansj.splitWord.analysis.ToAnalysis;
import org.apache.commons.lang3.StringUtils;
/**
 * 参考地址  http://nlpchina.github.io/ansj_seg/
 * @author Acer
 *
 */
public class ParticipleUtil {
	public static List<String> participles(String str) throws Exception {
		if(StringUtils.isBlank(str)) {
			throw new Exception("参数不能为空");
		}
		Result result = ToAnalysis.parse(str.replace(" ", ""));
		List<Term> terms = result.getTerms(); //拿到terms
		List<String> strList = new ArrayList<String>();
		
		for (Term term : terms) {
			//String word = term.getName(); //拿到词
	        // String natureStr = term.getNatureStr(); //拿到词性
			// 去除标点符号
			if(term.getName().length() ==1 && !String.valueOf(term.getName()).matches("[\u4e00-\u9fa5]")) {
				continue;
			}
			strList.add(term.getName());
		}
		return strList;
		
	}
	
	
	
	
//public static void main(String[] args) {
////	
////	 String str = "欢迎使用ansj_seg,(ansj中文分词)在这里如果你遇到什么问题都可以联系我.我一定尽我所能.帮助大家.ansj_seg更快,更准,更自由!" ;
////     Result result = ToAnalysis.parse(str); //分词结果的一个封装，主要是一个List<Term>的terms
////     System.out.println(result.getTerms());
////
////     List<Term> terms = result.getTerms(); //拿到terms
////     System.out.println(terms.size());
////
////     for(int i=0; i<terms.size(); i++) {
////         String word = terms.get(i).getName(); //拿到词
////         String natureStr = terms.get(i).getNatureStr(); //拿到词性
////         System.out.println(word + ":" + natureStr);
////     }
//
////	System.out.println(String.valueOf(",").matches("[\u4e00-\u9fa5]"));
//	
//	try {
//	List<String> str = 	ParticipleUtil.participles("张二河,是一个伟大的财迷,喜欢收义子.其子喜欢说:家父张二河.");
//	System.out.println(str.toString());
//	} catch (Exception e) {
//		// TODO Auto-generated catch block
//		e.printStackTrace();
//	}
//}
}
